The conversion of two-dimensional outlines to three-dimensional objects, as well as the animating of three-dimensional objects has been done before. However, the currently available methods are very cumbersome to use and may result in undesirable response times, as well as require large amounts of data since the three-dimensional objects usually must be broken down into small triangular units. As a result, the rendered objects are very slow to download and ill-suited for the Internet.
Many applications derive their three-dimensional models from a two-dimensional outline, however much of the outline data, such as the control points of curved edges, is often discarded as models are sculpted using a mesh consisting of small triangular or rectangular units. Very often the final animation will have curved edges, but since much of the original outline data was lost during the modeling process, these curves are often approximated based on the shape of the mesh, not the contours of the original two-dimensional outline. Since there is a direct relationship between the quality of the final image and the density of the mesh, rendering times increase exponentially with the desired output quality. If one considers the fact that the application must look at each unit of the mesh to determine the visibility of the object, it is easy to appreciate how rendering times can become quite long. As a result it is difficult for most applications using standard techniques to preserve the true contours of an object. It's also difficult for these applications to display outlines around the object. Often the latter is done using post-processing techniques. As a result, there is a need for a method that enables the convenient and effective rendering of three-dimensional objects suitable for the Internet, where the rendering is so efficient that it may even be done online or on mobile communication devices without requiring long response time, large file size and large memory capacity.